package com.urea.system.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.urea.system.domain.FleetUser;
import com.urea.system.domain.vo.FleetUserVo;

/**
 * 车队用户关系Service接口
 * 
 * @author liuzd
 * @date 2023-08-01
 */
public interface IFleetUserService extends IService<FleetUser>
{
    /**
     * 查询车队用户关系
     * 
     * @param id 车队用户关系主键
     * @return 车队用户关系
     */
    public FleetUser selectFleetUserById(Long id);

    /**
     * 查询车队用户关系列表
     * 
     * @param fleetUser 车队用户关系
     * @return 车队用户关系集合
     */
    public List<FleetUserVo> selectFleetUserList(FleetUserVo fleetUser);

    /**
     * 新增车队用户关系
     * 
     * @param fleetUser 车队用户关系
     * @return 结果
     */
    public int insertFleetUser(FleetUser fleetUser);

    /**
     * 修改车队用户关系
     * 
     * @param fleetUser 车队用户关系
     * @return 结果
     */
    public int updateFleetUser(FleetUser fleetUser);

    /**
     * 批量删除车队用户关系
     * 
     * @param ids 需要删除的车队用户关系主键集合
     * @return 结果
     */
    public int deleteFleetUserByIds(Long[] ids);

    /**
     * 删除车队用户关系信息
     * 
     * @param id 车队用户关系主键
     * @return 结果
     */
    public int deleteFleetUserById(Long id);


    public FleetUserVo getFleetInfoByUid(Long uid);

    /**
     * 车队添加用户
     * @param list 用户信息
     */
    void bindFleetUser(List<FleetUserVo> list);

    /**
     * 用户管理-车队用户列表
     * @param vo 条件
     * @return 结果
     */
    List<FleetUserVo> queryFleetUserList(FleetUserVo vo);

    /**
     * 车队删除用户信息
     * @param vo 用户信息
     * @return 结果
     */
    void unbind(FleetUserVo vo);

    Map<String,String> queryRoleAndFleetId();
}
